#import <UIKit/UIKit.h>

enum kPITaskViewStyle {
    kPITaskViewStyleTraditional = 0,
    kPITaskViewStyleTimeAtStart = 1,
    kPITaskViewStyleTimeAtEnd = 2
};


extern NSString* const kPITaskOptionsViewStyle;
extern NSString* const kPITaskOptionsNativeReminders;
extern NSString* const kPITaskOptionsLockCreate;

extern NSInteger const kPITaskOptionsViewStyleDefault;
extern BOOL const kPITaskOptionsNativeRemindersDefault;
extern BOOL const kPITaskOptionsLockCreateDefault;


@interface PITaskStatus : NSObject
{
    // Display information
    BOOL toolbarOn; // ON if using a toolbar
    BOOL toggleOn;  // ON if the details toggle is active

    NSInteger itemsReturnedCount;   // Number of items returned by selecting data
    NSInteger itemsFilteredCount;   // Number of items removed from the selected list
    NSInteger itemsWithDetailsCount;     // Number of items that have details to display

    // Toolbar values
    NSString* badgeValue;   // String to display on the badge
    NSString* captionValue; // String for toolbar caption
    
    // Context support
    BOOL autoContextAvailable; // ON if PI is monitoring locations
    BOOL autoContextOn; // ON if receiving context updates from PI
    BOOL fixedContextOn;    // OF if using a fixed set of contexts from the user
    NSInteger autoContextPasteboardUpdateCount;    // Number of updates reported by the PI context pasteboard
    
    NSInteger showListDetails;   // Setting of "show details" in config
    BOOL showEmoji; // Setting of "show emoji" in config
    BOOL lowColour;
    NSInteger showSourceIcons;  // Setting of the "show source icons" in config

    NSInteger showContexts;   // Setting of "show contexts" in config

    NSInteger shortDates;
    BOOL showIcons;
    BOOL singleLineOniPad;
    
    NSInteger mapViewType;
    
    NSInteger newTaskType;
}


@property (assign, getter=isToolbarOn) BOOL toolbarOn;
@property (assign, getter=isToggleOn) BOOL toggleOn;
@property (nonatomic, retain) NSString* badgeValue;
@property (nonatomic, retain) NSString* captionValue;
@property (assign) NSInteger itemsReturnedCount;
@property (assign) NSInteger itemsFilteredCount;
@property (assign) NSInteger itemsWithDetailsCount;
@property (assign, getter=isAutoContextAvailable) BOOL autoContextAvailable;
@property (assign, getter=isAutoContextOn) BOOL autoContextOn;
@property (assign, getter=isFixedContextOn) BOOL fixedContextOn;
@property (assign) NSInteger autoContextPasteboardUpdateCount;

@property (assign) NSInteger showListDetails;
@property (assign) NSInteger showSourceIcons;
@property (assign, getter=isShowEmoji) BOOL showEmoji;
@property (assign, getter=isLowColour) BOOL lowColour;

@property (assign) NSInteger showContexts;

@property (assign) NSInteger shortDates;
@property (assign, getter=isShowIcons) BOOL showIcons;
@property (assign, getter=isSingleLineOniPad) BOOL singleLineOniPad;

@property (assign) NSInteger mapViewType;

@property (assign) NSInteger newTaskType;


- (id)init;
- (void)dealloc;

@end
